Don't kill server buffer with erc-kill-buffer-on-part
authorF. Jason Park <jp@neverwas.me>
Wed, 15 May 2024 04:09:55 +0000 (21:09 -0700)
committerF. Jason Park <jp@neverwas.me>
Sat, 18 May 2024 22:48:05 +0000 (15:48 -0700)
commitcf7cc4c630a2cd71c52069237053cb1476104572
tree382528525d9fb149e7519145b0d11433e6ba46a9
parente8feb04cc68f24d60d12390cef28064727d75669
Don't kill server buffer with erc-kill-buffer-on-part

* etc/ERC-NEWS: Mention new flag `erc-killing-buffer-on-part-p' and
the renaming of `erc-kill-channel'.
* lisp/erc/erc-backend.el (erc-server-PART): Only kill a buffer on
behalf of `erc-kill-buffer-on-part' when the buffer hasn't already
been killed, and bind `erc-killing-buffer-on-part-p' to t when doing
so.
* lisp/erc/erc-log.el (erc-conditional-save-buffer): Don't save logs
when the buffer parameter is nil because that causes the server buffer
to be saved out.  It's possible that user code relying on this
longstanding bug will be affected, however, by default, the server
buffer will also be saved out independently at designated junctures.
* lisp/erc/erc.el (erc-part-hook): Redo doc string.
(erc-killing-buffer-on-part-p): New variable, a flag to prevent
redundant execution of `erc-kill-channel-hook' members concerned with
parted channels.
(erc-kill-buffer-on-part): Tweak doc string.
(erc-kill-channel-hook): Use new name for `erc-kill-channel',
`erc-part-channel-on-kill'.
(erc-kill-channel, erc-part-channel-on-kill): Rename former to latter,
and inhibit execution when `erc-killing-buffer-on-part-p' is non-nil.
* test/lisp/erc/erc-scenarios-base-kill-on-part.el: New file.
(Bug#70840)
etc/ERC-NEWS
lisp/erc/erc-backend.el
lisp/erc/erc-log.el
lisp/erc/erc.el
test/lisp/erc/erc-scenarios-base-kill-on-part.el [new file with mode: 0644]